package com.countryside.mapper;

import com.countryside.pojo.Company;
import com.countryside.pojo.CompanyWork;
import com.countryside.pojo.query.CompanyWorkQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface CompanyWorkMapper {

    /**
     * 查询公司
     * @param companyWorkQuery
     * @return
     */
    List<CompanyWork> listCompanyWorkBySearch(CompanyWorkQuery companyWorkQuery);

    /**
     * 修改公司信息
     * @param id
     * @param img
     * @return
     */
    int updateCompanyImgById(@Param("id") String id, @Param("img") String img);

    /**
     * 根据企业ID更新招工状态
     * @param id
     * @param state
     * @return
     */
    int updateState(@Param("id") String id, @Param("state") int state);

    /**
     * 根据id删除招工信息
     * @param id
     * @return
     */
    int deleteCompanyWork(@Param("id") String id);

    /**
     * 根据公司id查询公司信息
     * @param id
     * @return
     */
    List<CompanyWork> queryWorkByCompanyId(@Param("companyId") int id);

    /**
     * 获取所有招工信息
     * @param companyWorkQuery
     * @return
     */
    List<CompanyWork> listCompanyWork(CompanyWorkQuery companyWorkQuery);



    /**
     * 遍历出所有招工信息
     * @return
     */
    List<CompanyWork> queryAllWork();

    /**
     * 根据工种筛选遍历出招工信息
     * @param trade
     * @return
     */
    List<CompanyWork> queryWorkByTrade(@Param("trade") String trade);

    /**
     * 根据地点筛选遍历出招工信息
     * @param address
     * @return
     */
    List<CompanyWork> queryWorkByAddress(@Param("address") String address);



    /**
     * 根据标题查找工作
     * @param title
     * @return
     */
    List<CompanyWork> queryWorkByTitle(String title);

    /**
     * 根据用户ID查找所在公司
     * @param userId
     * @return
     */
    Company queryCompanyByUserId(String userId);

    /**
     * 发布招工信息
     * @param companyWork
     * @return
     */
    int companyWorkPublish(CompanyWork companyWork);

    /**
     * 根据公司ID查找公司
     * @param cid
     * @return
     */
    CompanyWork queryCompanyByCompanyId(@Param("cid") String cid);



}
